0.1. Blueprint Overview
1. Configs (설정)
액터 스폰 시점에 단 한 번 적용되는 데이터 그룹입니다. (현재 정적 값 위주)
| 그룹 | 속성 키 | 타입 | 구분 | 설명 |
|---|---|---|---|---|
| General | Tags | string[] |
고정값 | 액터 식별용 태그 리스트 |
| LifeCycle | LifeSpan | float |
고정값 | 액터 자동 파괴 시간 (초) |
2. Components (컴포넌트)
계층 구조를 형성하는 객체들입니다. Name은 필수이며, 속성에 따라 동적 접근 프로퍼티가 자동 생성됩니다.
2.1 공통 속성 (Common)
| 속성 키 | 타입 | 구분 | 설명 |
|---|---|---|---|
| Loc / Rot / Scale | float3 |
고정값 | 초기 트랜스폼 설정 |
| Activate | bool |
고정값 | 생성 시 활성화 여부 (기본 true) |
2.2 컴포넌트별 특수 속성
| 타입 | 속성 키 | 타입 | 구분 | 설명 |
|---|---|---|---|---|
| Mesh / Spline | Asset | string |
고정값 | 메시 또는 스플라인 에셋 |
| Collision | Type | string |
고정값 | Box, Sphere, Capsule, Spline |
| (공용) | Damage | float |
수식형 | 충돌 시 가해지는 데미지 |
| Delay / MaxHit | f / i |
수식형 | 재타격 딜레이 / 최대 타격 횟수 제한 | |
| TargetTags | string[] |
수식형 | 타격 가능한 대상 태그 필터 | |
| Debug | bool |
수식형 | 충돌체 시각화 여부 | |
| Interval | float |
고정값 | 충돌 검사 주기 (성능 최적화용) | |
| (Box 전용) | Extent | float3 |
고정값 | 박스 크기 범위 |
| (Sphere 전용) | Radius | float |
고정값 | 구체 반지름 |
| (Capsule 전용) | Radius / HalfHeight | float |
고정값 | 캡슐 반지름 및 절반 높이 |
| (Spline 전용) | Segment / BoundingBox | i / b |
고정값 | 분할 수 / 바운딩 박스 사용 여부 |
| Movement | InitSpeed | float3 |
고정값 | 초기 발사 속도 벡터 |
| MaxSpeed / Acceleration | float |
수식형 | 최고 속도 / 초당 전방 추진 가속도 | |
| GravityScale | float |
수식형 | 중력 적용 배율 | |
| LifeSpan | float |
수식형 | 무브먼트 레벨에서의 자체 수명 | |
| OrientToMovement | bool |
고정값 | 이동 방향으로 머리 돌리기 | |
| HomingStrategy | string |
고정값 | Nearest, Angle, None |
|
| HomingRange / Angle | float |
수식형 | 유도 탐색 반경 및 각도 제한 | |
| HomingTurnRate | float |
수식형 | 초당 유도 회전력 제한 | |
| RetargetTick | float |
수식형 | 타겟 재탐색 주기 | |
| ForgetPrev | bool |
수식형 | 타겟 소실 시 이전 타겟 망각 여부 | |
| ShouldBounce | bool |
수식형 | 반사(Bounce) 기능 활성화 | |
| Bounciness / MaxBounces | f / i |
수식형 | 반발 계수 / 최대 반사 횟수 | |
| UseWaypoint | bool |
수식형 | 경유지 모드 사용 여부 | |
| Waypoints | float3[] |
수식형 | 경유지 좌표 리스트 | |
| WpSpace | string |
수식형 | 좌표계 설정 (Direction, Relative) |
|
| WpBase | string |
수식형 | 웨이포인트의 기준점 (부모 액터 등) 설정 | |
| WpType | string |
수식형 | 이동 방식 (직선, 곡선, 루프 등) 설정 |
3. Events (이벤트)
액션들을 트리거하는 시점입니다.
| 이벤트 키 | 속성 | 타입 | 구분 | 설명 |
|---|---|---|---|---|
| OnSpawn / OnDestroy | - | - | - | 액터 생성/파괴 시 |
| OnHit | Target / Filter | s / s[] |
수식형 | 충돌 시 실행 (Filter로 태그 선별 가능) |
| OnLockon | Target | string |
고정값 | 유도 타겟이 잡혔을 때 |
| OnBounce | Target | string |
고정값 | 물리적 반사가 일어났을 때 |
| OnActivate / Deactivate | Target | string |
고정값 | 컴포넌트 활성 상태 변경 시 |
| OnAnimStop | Target | string |
고정값 | 재생 중인 애니메이션이 끝났을 때 |
4. Actions (액션)
이벤트 발생 시 실행되는 명령들입니다.
| 액션 키 | 속성 | 타입 | 구분 | 설명 |
|---|---|---|---|---|
| SetWorldLocation | Target / Loc | s / f3 |
수식형 | 대상의 월드 좌표를 즉시 설정 |
| SetRelativeLocation | Target / Loc | s / f3 |
수식형 | 대상의 부모 대비 상대 좌표를 설정 |
| SetWorldRotation | Target / Rot | s / f3 |
수식형 | 대상의 월드 회전값(Euler)을 즉시 설정 |
| SetRelativeRotation | Target / Rot | s / f3 |
수식형 | 대상의 부모 대비 상대 회전값을 설정 |
| SetWorldScale | Target / Scale | s / f3 |
수식형 | 대상의 월드 크기를 즉시 설정 |
| SetRelativeScale | Target / Scale | s / f3 |
수식형 | 대상의 부모 대비 상대 크기를 설정 |
| Set | Name / Value | s / v |
수식형 | 특정 프로퍼티 값 실시간 변경 |
| Register | Name / Value | s / v |
수식형 | 새로운 런타임 변수 등록 |
| Branch | Condition / OnTrue / OnFalse | b / s / s |
수식형 | 조건에 따른 이벤트 분기 실행 |
| SpawnActor | Name / Loc / Rot / Scale | s / f3 |
수식형 | 다른 액터 생성 (위치/회전/크기 지원) |
| Activate / Deactivate | Target / WithChild | s / b |
수식형 | 대상 컴포넌트(및 자식) 활성/비활성 |
| FollowSpline | Target / Spline / Duration | s / s / f |
수식형 | 대상을 스플라인 따라 이동 |
| Loop / UseRotation | bool |
수식형 | 반복 여부 / 곡선 방향 회전 여부 | |
| PlayAnim | Target / Asset / Anim | string |
고정값 | 재생할 애니메이션 에셋 및 이름 |
| PlayRate / Loop / RootMotion | f / b / b |
수식형 | 속도 / 반복 / 루트모션 적용 | |
| Loc / Rot / Scale | string |
고정값 | 샘플링 축 (예: "Z", "XY", "XYZ") | |
| CurveBind | Target / Property / Curve | string |
수식형 | 커브 데이터를 프로퍼티에 연결 |
| Modifier | bool |
수식형 | 곱연산 여부 (true: *, false: 대입) | |
| Particle | Asset / Loc | s / f3 |
수식형 | 이펙트 생성 (현재 위치 수식형 지원) |
| BindCollision | Movement / Collision | string |
고정값 | 무브먼트와 콜리전 이벤트 물리적 연결 |
| Destroy | - | - | - | 자기 자신을 파괴 |
| SetUpdateOrder | Target | string |
수식형 | 업데이트 순서를 변경할 대상 (this 또는 컴포넌트명) |
| Order | float |
수식형 | 실행 우선순위 (숫자가 낮을수록 먼저 실행됨) | |
| Timer | Event | string |
고정값 | 호출할 이벤트 |
| Time | float |
수식형 | Time 초 후 이벤트 호출 |
|
| Loop | bool |
수식형 | true시, Time초 마다 이벤트 호출 반복 |
5. 고정값과 수식형
- 수식형으로 지정된 Loc
<SetWorldLocation Target = "Movement" Loc = "Movement.GetWorldLocation() + {0, 5, 0}"/>
고정값은 아래와 같이 연산이 불가능한 상수값을 지정하는 방식입니다.
<... Loc = "{0, 0, 0}">
수식형은 위 예제와 같이 함수 호출, 변수 참조, 상수값등을 사용하고 연산이 가능한 방식입니다.
<... Loc = "Movement.GetWorldLocation() + $ImpactPoint + {0, 5, 0}">
5.1. 수식형
5.1.1. 함수
World Transform
| 함수 호출 형식 | 반환 타입 | 설명 |
|---|---|---|
Name.GetWorldLocation() |
float3 |
해당 컴포넌트의 현재 월드 위치 좌표 |
Name.GetWorldRotation() |
float3 |
해당 컴포넌트의 현재 월드 회전값 (Euler) |
Name.GetWorldScale() |
float3 |
해당 컴포넌트의 현재 월드 크기 배율 |
Relative Transform
| 함수 호출 형식 | 반환 타입 | 설명 |
|---|---|---|
Name.GetRelativeLocation() |
float3 |
부모 기준 상대 위치 좌표 |
Name.GetRelativeRotation() |
float3 |
부모 기준 상대 회전값 (Euler) |
Name.GetRelativeScale() |
float3 |
부모 기준 상대 크기 배율 |
5.1.2. 변수
A. 커스텀 및 예약 변수
Register 액션으로 생성했거나 엔진에서 기본적으로 제공하는 변수들입니다.
| 변수명 | 타입 | 설명 |
|---|---|---|
$Name |
가변 |
<Register Name="변수명" ...>으로 등록한 모든 커스텀 값 |
$DeltaTime |
float |
매 프레임 갱신되는 DeltaTime(초) |
$ImpactPoint |
float3 |
충돌(OnHit) 발생 시 계산된 정확한 충돌 지점 좌표 |
B. 컴포넌트 속성 변수(컴포넌트 이름 + .속성명)
각 컴포넌트가 생성될 때 등록된 내부 변수들입니다. Set 액션을 통해 이 값을 실시간으로 수정하거나, 다른 수식의 계산 재료로 쓸 수 있습니다.
Movement
| 변수 참조 형식 | 타입 | 설명 |
|---|---|---|
$Name.MaxSpeed |
float |
최대 이동 속도 제한 |
$Name.Acceleration |
float |
전방 추진 가속도 수치 |
$Name.GravityScale |
float |
중력 적용 배율 |
$Name.LifeSpan |
float |
무브먼트 컴포넌트의 자체 수명 |
$Name.HomingStrategy |
string |
유도 방식 (Nearest, Angle, None) |
$Name.HomingTags |
set<string> |
유도 대상 타겟들의 태그 리스트 |
$Name.HomingRange |
float |
유도 타겟 탐색 반경 |
$Name.HomingAngle |
float |
유도 가능한 최대 전방 각도 |
$Name.HomingTurnRate |
float |
초당 회전 제한 속도 |
$Name.RetargetTick |
float |
타겟 재탐색 주기 (초) |
$Name.HomingStopRange |
float |
유도를 중단할 타겟과의 거리 |
$Name.ForgetPrev |
bool |
타겟 소실 시 이전 타겟을 잊을지 여부 |
$Name.UseWaypoint |
bool |
경유지(Waypoint) 시스템 사용 여부 |
$Name.WpSpace |
string |
웨이포인트 좌표계 (World, Local 등) |
$Name.WpBase |
string |
웨이포인트 기준점 설정 |
$Name.WpType |
string |
웨이포인트 이동 방식 |
$Name.Waypoints |
array<f3> |
등록된 경유지 좌표 리스트 |
$Name.ShouldBounce |
bool |
반사(Bounce) 기능 활성화 여부 |
$Name.Bounciness |
float |
반사 시 속도 유지 배율 (탄성) |
$Name.MaxBounces |
float |
최대 반사 허용 횟수 |
Collision
| 변수 참조 형식 | 타입 | 설명 |
|---|---|---|
$Name.Delay |
float |
동일 대상 재타격 방지 딜레이 시간 |
$Name.MaxHit |
float |
파괴 전 최대 타격 가능 횟수 |
$Name.Damage |
float |
타격 시 가해지는 데미지량 |
$Name.TargetTags |
set<string> |
타격 대상 필터 태그 리스트 |
$Name.Debug |
bool |
충돌체 디버그 드로잉 활성화 여부 |